// with polyfills
import 'core-js/stable';
import 'regenerator-runtime/runtime';
import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store/';
import { VueAxios } from './utils/request';
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
// import './mock'
import 'flex.css';

import bootstrap from './core/bootstrap';
import './core/lazy_use';
import './permission'; // permission control
import './utils/filter'; // global filter
import './components/global.less';
import { Dialog } from '@/components';
import { hasBtnPermission } from './utils/permissions'; // button permission
import { sysApplication } from './utils/applocation';
// 表单设计器 str
import KFormDesign from './components/k-form-design/packages';
import './components/k-form-design/static/styles/form-design.less';
import Print from 'vue-print-nb';
Vue.use(KFormDesign);
// 表单设计器 end

Vue.use(VueAxios);
Vue.use(Dialog);
Vue.use(Print);
Vue.prototype.hasPerm = hasBtnPermission;
Vue.prototype.applocation = sysApplication;
Vue.config.productionTip = false;

new Vue({
  router,
  store,
  created: bootstrap,
  render: h => h(App),
}).$mount('#app');
